﻿#include <iostream>
#include <algorithm>
using namespace std;
//先序遍历
void preOrder(int arr[], int i,int sz)
{
	if (i >= sz)return;
	cout << arr[i] << "  ";
	preOrder(arr, 2 * i + 1, sz);
	preOrder(arr, 2 * i + 2, sz);
}
//中序遍历
void midOrder(int arr[], int i, int sz)
{
	if (i >= sz)return;
	midOrder(arr, 2 * i + 1, sz);
	cout << arr[i] << "  ";
	midOrder(arr, 2 * i + 2, sz);
}
//后序遍历
void lasOrder(int arr[], int i, int sz)
{
	if (i >= sz)return;
	lasOrder(arr, 2 * i + 1, sz);
	lasOrder(arr, 2 * i + 2, sz);
	cout << arr[i] << "  ";
}
int main()
{
	int arr[] = { 78,56,34,43,4,1,15,2,23 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	preOrder(arr, 0,sz);
	cout << endl;
	midOrder(arr, 0, sz);
	cout << endl;
	lasOrder(arr, 0, sz);
	system("pause");
	return 0;
}